var open = true;
var PQname = ["Boss_蘑菇神社_天狗_剧情", "Boss_蘑菇神社_天狗_普通"];
var PQLog = ["天狗<剧情>", "天狗<普通>"];
var startmap = 800024008;
var minLevel = [33, 999];
var maxLevel = [1000, 1000];
var maxenter = [200, 100];
var interval = [10, 50];
var status = -1;
var minPlayers = 1;
var maxPlayers = 6;
var moblevel = 255;
var selectionLog = [];

function start() {
    action(1, 0, 0)
}

function action(e, c, b) {
    if (status >= 0 && e == 0) {
        cm.dispose();
        return
    }
    e == 1 ? status++ : status--;
    if (cm.getMapId() == startmap) {
        if (status < 0) {
            cm.dispose()
        } else {
            if (status == 0) {
                var d = "#face0#是天狗！我要不要去跟他说话？";
                if (cm.isQuestFinished(58778) && !cm.isQuestFinished(58779)) {
                    d += "\r\n#L0#跟天狗对话。#r(※将展开天狗首领怪战剧情模式。)#k#l"
                }
                d += "\r\n#L9#放弃。#l";
                cm.askMenu_Bottom(d, 37, 9113000)
            } else {
                if (status == 1) {
                    if (b == 9) {
                        cm.dispose();
                        return
                    }
                    if (cm.getParty() == null) {
                        cm.PartyAutoOn()
                    }
                    if (!cm.isLeader()) {
                        cm.sendOk("嗯，你已经有自己的队伍。要执行这个任务，请让你们的队长与我对话，才可以申请入场.");
                        cm.dispose()
                    } else {
                        if (!cm.isAllPartyMembersAllowedLevel(minLevel[b], maxLevel[b])) {
                            cm.sendNext("组队成员等级 " + minLevel[b] + " 以上 " + maxLevel[b] + " 以下才可以入场。");
                            cm.dispose()
                        } else {
                            if (!cm.isAllPartyMembersAllowedPQ(PQLog[b], maxenter[b])) {
                                cm.sendNext('你的队员#r#e "' + cm.getNotAllowedPQMemberName(PQLog[b], maxenter[b]) + '" #k#n次数已经达到上限了。');
                                cm.dispose()
                            } else {
                                if (!cm.allMembersHere()) {
                                    cm.sendOkN("你的组队部分成员不在当前地图,请召集他们过来后在尝试。");
                                    cm.dispose()
                                } else {
                                    var a = cm.getEventManager(PQname[b]);
                                    if (a == null || open == false) {
                                        cm.askMenu("配置文件不存在,请联系管理员。");
                                        cm.dispose()
                                    } else {
                                        if (a.getNumberProperty("state") == 0) {
                                            cm.dispose();
                                            a.startInstance(cm.getParty(), cm.getMap(), moblevel);
                                            cm.gainMembersPQ(PQLog[b], 1)
                                        } else {
                                            cm.sendOk("已经有队伍在进行了,请换其他频道尝试。");
                                            cm.dispose()
                                        }
                                    }
                                }
                            }
                        }
                    }
                } else {
                    cm.dispose()
                }
            }
        }
    } else {
        if (status == 0) {
            cm.warp(startmap, 1)
        }
        cm.dispose()
    }
};